A core file is a memory image associated with a computer process that has terminated or become corrupted as a result of one or more errors. Errors that may cause termination or corruption of a computer process include memory violations, bus errors, illegal instructions, user-generated quit signals, and others. It is generally recognized in the art that analysis of a core file may be helpful in determining the nature and cause of process-termination events.
The process of transferring a core file from volatile memory to a non-volatile storage medium is referred to as a “core dump.” The dumped core file may also be referred to as a core dump. Retrieving the core file from an embedded system may be problematic, because the embedded system may not include a non-volatile mass storage device. Non-volatile storage devices typically associated with embedded systems may include flash memory modules with insufficient capacity to store a volatile core file from dynamic random-access memory (DRAM) following a process termination.
Some systems transfer core dumps to mass storage across a network connection. However, such methods may fail if the networking functionality of the embedded system is non-functional as a result of the process-terminating event. These problems may be compounded in a multi-processor or multi-core embedded system, particularly if processes are interdependent between processors.